gHobbyInit = {}
nHobby = {}
; //SETLIST
gHobbyInit[1] = {}
; //SETLIST
gHobbyInit[2] = {}
; //SETLIST
gHobbyInit[3] = {}
; //SETLIST
gHobbyInit[4] = {}
; //SETLIST
gHobbyInit[5] = {}
; //SETLIST
gHobbyInit[6] = {}
; //SETLIST
gHobbyInit[7] = {}
; //SETLIST
gHobbyInit[8] = {}
; //SETLIST
gHobbyInit[9] = {}
local myvar_8 = 1
local myvar_9 = 0
local myvar_11 = "Entertainment"
local myvar_12 = 1
local myvar_13 = 0
local myvar_15 = "Serious"
local myvar_16 = 2
local myvar_17 = 1
; //SETLIST
gHobbyInit[10] = {}
nHobby["MinEnthusiasmForMembership"] = 500
nHobby["MinEnthusiasmForVisit"] = 100
gIconicHobbyistFriendJobBonuses = {}
; //SETLIST
gIconicHobbyistFriendJobBonuses[1] = {}
; //SETLIST
gIconicHobbyistFriendJobBonuses[2] = {}
local myvar_6 = -80
local myvar_7 = -20881
; //SETLIST
gIconicHobbyistFriendJobBonuses[3] = {}
; //SETLIST
gIconicHobbyistFriendJobBonuses[4] = {}
; //SETLIST
gIconicHobbyistFriendJobBonuses[5] = {}
; //SETLIST
gIconicHobbyistFriendJobBonuses[6] = {}
; //SETLIST
gIconicHobbyistFriendJobBonuses[7] = {}
; //SETLIST
gIconicHobbyistFriendJobBonuses[8] = {}
; //SETLIST
gIconicHobbyistFriendJobBonuses[9] = {}
local myvar_2 = -29940
local myvar_3 = -19902
local myvar_4 = -27614
local myvar_5 = -11296
; //SETLIST
gIconicHobbyistFriendJobBonuses[10] = {}
gTokenHobbyInitializedProps = {}
gTokenHobbyInitializedProps["Token GUID"] = 871817467
gTokenHobbyMembershipProps = {}
gTokenHobbyMembershipProps["Token GUID"] = 1408884558
nHobby["MaxHobbies"] = 10
nHobby["TuningHobbyName"] = 1
nHobby["TuningHobbyID"] = 2
nHobby["TuningPName1"] = 3
nHobby["TuningPTimesUsed1"] = 4
nHobby["TuningPModCount1"] = 5
nHobby["TuningIName1"] = 6
nHobby["TuningITimesUsed1"] = 7
nHobby["TuningIModCount1"] = 8
nHobby["TuningIRatio1"] = 9
nHobby["TuningIName2"] = 10
nHobby["TuningITimesUsed2"] = 11
nHobby["TuningIModCount2"] = 12
nHobby["TuningIRatio2"] = 13
nHobby["TuningPName2"] = 14
nHobby["TuningPTimesUsed2"] = 15
nHobby["TuningPModCount2"] = 16

function function_322(param0, param1)
		if (param1["enthusiasm"] >= param0["enthusiasm"]) then
	end
	local myvar_2 = True
	return myvar_2
end

nHobby["sortHobby"] = function_322

function function_325(param0, param1)
	myvar_2 = param0["getPropertiesCopy"](param0)
	myvar_4 = table["getn"](myvar_2)
	local myvar_5 = 1
	for 1=1, myvar_4, myvar_5 do 
		if (myvar_2[1] == param1) then
		local myvar_6 = True
		return myvar_6
	end
	end
	local myvar_3 = False
	return myvar_3
end

nHobby["MembershipTokenForHobby"] = function_325

function function_328(param0, param1)
		if (GlobalObjManager["verifyNeighborId"](GlobalObjManager, param0) ~= 0) then 
	

		myvar_3 = Inventory["new"](Inventory["kTypeNeighbor"], param0)["findToken"](Inventory["new"](Inventory["kTypeNeighbor"], param0), gTokenHobbyMembershipProps["Token GUID"])
			if (myvar_3 ~= 0) then 
	myvar_3 = myvar_3

			myvar_4 = myvar_3["getPropertiesCopy"](myvar_3)
			local myvar_5 = 1
			myvar_6 = table["getn"](myvar_4)
			local myvar_7 = 1
			for myvar_5=1, myvar_6, myvar_7 do 
				if (myvar_4[myvar_5] == gHobbyInit[param1][2]) then
				local myvar_8 = True
				return myvar_8
			end
			end
		end
	end
	local myvar_2 = False
	return myvar_2
end

nHobby["PersonHasHobbyMembership"] = function_328

function function_331(param0)
		if (GlobalObjManager["verifyNeighborId"](GlobalObjManager, param0) ~= 0) then 
	

		myvar_2 = Inventory["new"](Inventory["kTypeNeighbor"], param0)["findToken"](Inventory["new"](Inventory["kTypeNeighbor"], param0), gTokenHobbyMembershipProps["Token GUID"])
			if (myvar_2 ~= 0) then 
	myvar_2 = myvar_2

			myvar_3 = myvar_2["getPropertiesCopy"](myvar_2)
			return (myvar_3[1] - 203)
		end
	end
	local myvar_1 = False
	return myvar_1
end

nHobby["GetIconicHobbyistHobbyId"] = function_331

function function_334(param0)
	local myvar_2 = 0
	for loopvar1, loopvar2 in gHobbyInit do 
	{}[gHobbyInit[loopvar1][nHobby["TuningHobbyID"]]] = 0
	end
	myvar_3 = GlobalObjManager["getNeighborIds"](GlobalObjManager, ObjectManager["kSpeciesFlag_Human"])
	for loopvar1, loopvar2 in myvar_3 do 
		if (GlobalObjManager["verifyNeighborId"](GlobalObjManager, loopvar2) ~= 0) then 
	

		myvar_8 = Inventory["new"](Inventory["kTypeNeighbor"], loopvar2)
		myvar_9 = myvar_8["findToken"](myvar_8, gTokenHobbyMembershipProps["Token GUID"])
			if (myvar_9 ~= 0) then 
	myvar_9 = myvar_9

			myvar_10 = GetNeighborPersonData(loopvar2, PersonData["family number"])
				if (ReservedFamilyIDs["Reserved ID Min"] <= myvar_10) then
				myvar_11 = myvar_9["getPropertiesCopy"](myvar_9)
				local myvar_12 = 1
				myvar_13 = table["getn"](myvar_11)
				local myvar_14 = 1
				for myvar_12=1, myvar_13, myvar_14 do 
				{}[myvar_11[myvar_12]] = ({}[myvar_11[myvar_12]] + 1)
				end
			end
		end
	end
	end
	for loopvar1, loopvar2 in {} do 
	myvar_2 = myvar_2 + loopvar2
	end
	return {}[param0]
end

nHobby["CountHobbyMembers"] = function_334

function function_337(param0)
	myvar_1 = GlobalObjManager["getNeighborIds"](GlobalObjManager, ObjectManager["kSpeciesFlag_Human"])
	local myvar_2 = 0
	for loopvar1, loopvar2 in myvar_1 do 
		if (GlobalObjManager["verifyNeighborId"](GlobalObjManager, loopvar2) ~= 0) then 
	

		myvar_2 = GetNeighborPersonData(loopvar2, PersonData["family number"])
			if (myvar_2 == ReservedFamilyIDs["Iconic Hobbyist"]) then
			myvar_7 = nHobby["PersonHasHobbyMembership"](loopvar2, param0)
				if (myvar_7 ~= 0) then 
	myvar_7 = myvar_7

				return loopvar2
			end
		end
	end
	end
	local myvar_3 = 0
	return myvar_3
end

nHobby["FindIconicHobbyist"] = function_337

function function_340(param0, param1)
	local myvar_4 = 0
	local myvar_5 = 0
	local myvar_6 = 0
	myvar_7 = GlobalObjManager["getNeighborIds"](GlobalObjManager, ObjectManager["kSpeciesFlag_Human"])
	for loopvar1, loopvar2 in myvar_7 do 
		if (GlobalObjManager["verifyNeighborId"](GlobalObjManager, loopvar2) ~= 0) then 
	

		myvar_5 = GetNeighborPersonData(loopvar2, PersonData["family number"])
			if (myvar_5 ~= 0) then
				if (myvar_5 >= ReservedFamilyIDs["Iconic Hobbyist"]) then
					if (ReservedFamilyIDs["Asia"] < myvar_5) then
				else
					myvar_4 = GetNeighborPersonData(loopvar2, gHobbyInit[param0][2])
						if (nHobby["MinEnthusiasmForVisit"] < myvar_4) then
						table["insert"]({}, loopvar2)
						table["insert"]({}, myvar_4)
						myvar_6 = myvar_6 + 1
					end
				end
			end
		end
	end
	end
	; //SETLIST
	local myvar_10 = 2
	local myvar_12 = 1
	Quicksort(myvar_10, {}, myvar_12, myvar_6)
	return {}[1]
end

nHobby["FindTopHobbyMembers"] = function_340

function function_343(param0, param1)
	local myvar_2 = 0
	local myvar_3 = 0
	myvar_7 = CachedNeighbor["new"](param0)
	myvar_7["getGUID"](myvar_7)
		if (GlobalObjManager["getPersonIdFromGUID"]() ~= 0) then
		myvar_7["getGUID"](myvar_7)
		GlobalObjManager["getPersonIdFromGUID"]()
	else
	end
	local myvar_11 = 1
	for 1=1, nHobby["MaxHobbies"], myvar_11 do 
		if (param1 <= myvar_7["getPersonData"](myvar_7, gHobbyInit[1][nHobby["TuningHobbyID"]])) then
		table["insert"]({}, gHobbyInit[1][nHobby["TuningHobbyID"]])
	end
	end
	myvar_2 = table["getn"]({})
		if (0 < myvar_2) then
		myvar_11 = myvar_2
		myvar_3 = math["random"](1, myvar_11)
		return {}[myvar_3], myvar_2
	else
		local myvar_9 = 0
		local myvar_10 = 0
		return myvar_9, myvar_10
	end
end

nHobby["PickQualifyingHobby"] = function_343

function function_346(param0, param1)
	local myvar_2 = 1409197941
	myvar_3 = Neighbor["new"](param1)
	myvar_4 = myvar_3["GetLivePersonData"](myvar_3, "family number")
		if (myvar_4 == ReservedFamilyIDs["Iconic Hobbyist"]) then
		myvar_5 = nHobby["GetIconicHobbyistHobbyId"](param1)
			if (GlobalObjManager["verifyNeighborId"](GlobalObjManager, param0) ~= 0) then 
	

			myvar_6 = Inventory["new"](Inventory["kTypeNeighbor"], param0)
			local myvar_8 = 1
			myvar_9 = table["getn"](gIconicHobbyistFriendJobBonuses[myvar_5])
			local myvar_10 = 2
			for myvar_8=1, myvar_9, myvar_10 do 
			myvar_11 = nHobby["HasHobbyJobPromtionToken"](param0, gIconicHobbyistFriendJobBonuses[myvar_5][myvar_8], gIconicHobbyistFriendJobBonuses[myvar_5][(myvar_8 + 1)])
				if (myvar_11 ~= 1) then 
	myvar_11 = myvar_11

				
	myvar_11 = myvar_6["addToken"]
				local myvar_15 = 2
				; //SETLIST
				myvar_11(myvar_6, myvar_2, {})
			end
			end
		end
	end
end

nHobby["GiveHobbyJobPromtionTokens"] = function_346

function function_349(param0, param1, param2)
		if (GlobalObjManager["verifyNeighborId"](GlobalObjManager, param0) ~= 0) then 
	

		myvar_4 = Inventory["new"](Inventory["kTypeNeighbor"], param0)
		myvar_5 = myvar_4["getTokensByGUID"](myvar_4, 1409197941)
		for loopvar1, loopvar2 in myvar_5 do 
	end
	myvar_10 = loopvar2["countProperties"](loopvar2)
		if (myvar_10 == 3) then
		
	myvar_10 = loopvar2["getPropertiesCopy"]
		myvar_10 = myvar_10(loopvar2)
			if (myvar_10[1] == 2) then
				if (myvar_10[2] == param1) then
					if (myvar_10[3] == param2) then
					local myvar_11 = True
					return myvar_11
				end
			end
		end
	end
	end
	else
		local myvar_3 = False
		return myvar_3
end

nHobby["HasHobbyJobPromtionToken"] = function_349

function function_352(param0, param1, param2)
	myvar_4 = param1["getPersonData"](param1, PersonData["family number"])
		if (0 < myvar_4) then
		for 1=1, table["getn"](gHobbyTuningNPCFamiliesDisallowed), 1 do 
			if (gHobbyTuningNPCFamiliesDisallowed[1] == myvar_4) then
			local myvar_5 = False
		else
			end
		end
		{}["None"] = 0
		{}["Active"] = ((math["max"](0, (param1["getPersonData"](param1, PersonData["Personality Active"]) - 500)) * 4) / 5)
		{}["Lazy"] = ((math["max"](0, (500 - param1["getPersonData"](param1, PersonData["Personality Active"]))) * 4) / 5)
		{}["Neat"] = ((math["max"](0, (param1["getPersonData"](param1, PersonData["Personality Neat"]) - 500)) * 4) / 5)
		{}["Sloppy"] = ((math["max"](0, (500 - param1["getPersonData"](param1, PersonData["Personality Neat"]))) * 4) / 5)
		{}["Nice"] = ((math["max"](0, (param1["getPersonData"](param1, PersonData["Personality Nice"]) - 500)) * 4) / 5)
		{}["Grouchy"] = ((math["max"](0, (500 - param1["getPersonData"](param1, PersonData["Personality Nice"]))) * 4) / 5)
		{}["Outgoing"] = ((math["max"](0, (param1["getPersonData"](param1, PersonData["Personality Outgoing"]) - 500)) * 4) / 5)
		{}["Shy"] = ((math["max"](0, (500 - param1["getPersonData"](param1, PersonData["Personality Outgoing"]))) * 4) / 5)
		{}["Playful"] = ((math["max"](0, (param1["getPersonData"](param1, PersonData["Personality Playful"]) - 500)) * 4) / 5)
		local myvar_10 = 0
		{}["Serious"] = ((math["max"](myvar_10, (500 - param1["getPersonData"](param1, PersonData["Personality Playful"]))) * 4) / 5)
		{}["None"] = 0
		myvar_10 = param1
	
		{}["Animals"] = param1["getPersonData"](myvar_10, PersonData["i: Animals"])
		myvar_10 = param1
	
		{}["Culture"] = param1["getPersonData"](myvar_10, PersonData["i: Culture"])
		myvar_10 = param1
	
		{}["Entertainment"] = param1["getPersonData"](myvar_10, PersonData["i: Entertainment"])
		myvar_10 = param1
	
		{}["Environment"] = param1["getPersonData"](myvar_10, PersonData["i: Environment"])
		myvar_10 = param1
	
		{}["Fashion"] = param1["getPersonData"](myvar_10, PersonData["i: Fashion"])
		myvar_10 = param1
	
		{}["Food"] = param1["getPersonData"](myvar_10, PersonData["i: Food"])
		myvar_10 = param1
	
		{}["Health"] = param1["getPersonData"](myvar_10, PersonData["i: Health"])
		myvar_10 = param1
	
		{}["School"] = param1["getPersonData"](myvar_10, PersonData["i: School"])
		myvar_10 = param1
	
		{}["Sci-Fi"] = param1["getPersonData"](myvar_10, PersonData["i: Sci-Fi"])
		myvar_10 = param1
	
		{}["Sports"] = param1["getPersonData"](myvar_10, PersonData["i: Sports"])
		myvar_10 = param1
	
		{}["Toys"] = param1["getPersonData"](myvar_10, PersonData["i: Toys"])
		myvar_10 = param1
	
		{}["Work"] = param1["getPersonData"](myvar_10, PersonData["i: Work"])
		myvar_10, PersonData["i: Work"], param1 = nil
		for loopvar1, loopvar2 in gHobbyInit do 
		local myvar_13 = 0
		myvar_13 = myvar_13 + {}[gHobbyInit[loopvar1][nHobby["TuningPName1"]]]
		myvar_13 = myvar_13 + {}[gHobbyInit[loopvar1][nHobby["TuningPName2"]]]
			if (math["mod"](param0, gHobbyInit[loopvar1][nHobby["TuningITimesUsed1"]]) == gHobbyInit[loopvar1][nHobby["TuningIModCount1"]]) then
			myvar_13 = myvar_13 + ({}[gHobbyInit[loopvar1][nHobby["TuningIName1"]]] * gHobbyInit[loopvar1][nHobby["TuningIRatio1"]])
		end
			if (math["mod"](param0, gHobbyInit[loopvar1][nHobby["TuningITimesUsed2"]]) == gHobbyInit[loopvar1][nHobby["TuningIModCount2"]]) then
			myvar_13 = myvar_13 + ({}[gHobbyInit[loopvar1][nHobby["TuningIName2"]]] * gHobbyInit[loopvar1][nHobby["TuningIRatio2"]])
		end
		{}["hobbyID"] = gHobbyInit[loopvar1][nHobby["TuningHobbyID"]]
		{}["enthusiasm"] = myvar_13
		table["insert"]({}, {})
			if (ReservedFamilyIDs["Reserved ID Min"] <= myvar_4) then
			param1["setPersonData"](param1, PersonData[gHobbyInit[loopvar1][nHobby["TuningHobbyName"]]], myvar_13)
				if (myvar_5 ~= 0) then 
	myvar_5 = myvar_5

					if (nHobby["MinEnthusiasmForMembership"] <= myvar_13) then
					myvar_14 = param2["findToken"](param2, gTokenHobbyMembershipProps["Token GUID"])
						if (myvar_14 == nil) then
						param2["addToken"](param2, gTokenHobbyMembershipProps["Token GUID"])
						myvar_14 = param2["findToken"](param2, gTokenHobbyMembershipProps["Token GUID"])
					end
						if (myvar_14 ~= 0) then 
	myvar_14 = myvar_14

						myvar_14["pushProperty"](myvar_14, PersonData[gHobbyInit[loopvar1][nHobby["TuningHobbyName"]]])
					end
				end
			end
		end
		end
		myvar_10 = {}
		table["sort"](myvar_10, nHobby["sortHobby"])
		myvar_10 = {}
		myvar_9,myvar_10,{R11},myvar_12 = ipairs(myvar_10)
		for loopvar1, myvar_12 in myvar_9 do 
		myvar_14 = param1
	myvar_13 = param1["setPersonData"]
		myvar_13(myvar_14, PersonData["Predestined Hobby"], myvar_12["hobbyID"])
		end
		myvar_10 = param2
	myvar_9 = param2["addToken"]
		myvar_9(myvar_10, gTokenHobbyInitializedProps["Token GUID"])
	end
end

nHobby["InitHobbyValues"] = function_352
